import java.util.HashMap;
import java.util.Map;

public class Solution10 {

    public static void main(String[] args) {
        System.out.println(fib(48));
    }

//    public static int fib(int n) {
//        HashMap<Integer, Integer> map = new HashMap<>();
//        if (n == 0) {
//            int result = 0 % 1000000007;
//            map.put(0, result);
//            return result;
//        }
//        if (n == 1) {
//            int result = 1 % 1000000007;
//            map.put(1, result);
//            return result;
//        }
//        if (map.get(n) == null) {
//            int result = fib(n - 1) + fib(n - 2);
//            result = result % 1000000007;
//            map.put(n, result);
//            return result;
//        } else {
//            return map.get(n);
//        }
//
//    }

    public static int fib(int n) {
        int a = 0;
        int b = 1;
        int mod = 1000000007;
        if (n == 0) {
            return 0;
        }
        if (n == 1) {
            return 1 % mod;
        }
        int temp = 1;
        for (int i = 2; i <= n; i++) {
            temp = (a + b) % mod;
            a = b;
            b = temp;
        }
        return temp;
    }

}
